|
Date : 8 juin 1992 Logiciel : PCAD V4.55 Protection : CLEF PHYSIQUE Outils : SOFT-ICE V2.50 Temps pass� : Longtemps... mais il y avait la carotte Programme : PCCARDS.EXE, PCCARDS.OVL, PCCAPS.EXE et PCCAPS.OVL Soci�t� : PCAD Divers : CLEF SERIELLE Origine : Jos� Num�ro : 178 Tellement de papier imprim� que je ne me sens pas la force de faire un DEP m�me si le logiciel le vaudrait 100 fois... Ayant commenc� � attaquer cette version par le programme PCCAPS j'ai bataill� longtemps avant de trouver le moyen d'acc�der au menu principal, mais h�las une fois arriv� l� la moindre commande effectu�e plantait le programme. Je "switche" sur la version 5.02 dans laquelle seulement PCCARDS est prot�g� par ce fameux dongle s�rie, mais la aussi triste d�convenue: cette derni�re ne fonctionne qu'en mode prot�g� et comme SOFT-ICE s'y trouve aussi il est impossible de faire cohabiter deux programmes dans ce mode ( ceci vaut �galement pour la nouvelle version de WINDOWS avec laquelle je ne peux plus utiliser mon debugger favori - d'ailleurs m�me mon bouton poussoir g�n�rant une NMI reste inactif ! ) Je rebascule sur la version 4.55 en m'attaquant � PCCARDS et la au bout de quelques heures de recherche intensive et de brain storming afin de d�terminer avec exactitude quelle est la routine qui appelle la clef et quel est le test je trouve enfin une piste. La routine est d�compos�e en deux parties et le test se trouve quelques instructions plus loin. Ceci m'am�ne donc dans le menu principal de PCCARDS. Mais mauvaise surprise les sous-menus SYS, ENTER/COMP, LOAD, SAVE, BKLD, BKSV et SYMB ENTR ORG poss�dent �galement une routine de test de la clef ! Cette routine n'�tant pas la m�me ceci me force � rechercher � chaque fois le test du port s�rie et � d�rouler RETF par RETF jusqu'� retrouver la structure classique de l'implantation de la routine. Le point d'arr�t se pose comme suit ( port s�rie ): BPIO 3F8 R Au bout du second week-end consacr� � PCARDS le soft est pr�t et compl�tement expurg�. Je d�cide de me r�attaquer � PCCAPS bien que l'on puisse utiliser la version non prot�g�e du package 5.02 qui fonctionne en mode prot�g�. J'arrive avec dificult� � rentrer enfin dans le menu principal tout en conservant les fonctionnalit�s des sous-menus, mais je m'apercois que la structure de la clef ne ressemble en rien � celle de PCCARDS. Et apr�s une heure de tatonnement j'arr�te de fouiller le soft car je n'arrive pas � d�terminer de quelle facon les sous-menus sont prot�g�s. Non seulement la clef est diff�rente par rapport � celle de PCARDS mais de plus la protection des sous-menus est diff�rente de celle du menu principal... 5 juillet 1992 O� a l'occasion d'une routine encore prot�g�e dans PCCARDS je reprends �galement l'�tude de PCCAPS. Cette fois j'arrive � faire fonctionner le sous-menu SYS en plus du menu principal. Et je me rends compte qu'effectivement la routine ne ressemble en rien � celle de PCCARDS. Dans le sous-menu SYS il est n�cessaire d'effacer un CALLF afin de neutraliser l'appel de la clef. Et cette routine est impossible � retrouver dans les autres sous-menus ! Donc si un jour l'envie me reprendra je consulterais la 1/2 tonne de listing que cel� m'a pris et je m'y remettrais. Description rapide pour faire fonctionner PCCARDS: Placer un BPIO 3F8 R et ne pas se servir de la souris sous peine de d�bugger le driver de cette derni�re. A l'apparition de SOFT-ICE inhiber le point d'arr�t et aller par F7 au premier RETF, F10 puis 3 instructions plus loin passer un second RETF. Forcer les 3 sauts suivants pour arriver � la fin de la routine par RFLZ. Puis passer le dernier RETF avec F10. A ce moment on se trouve apr�s le premier CALL � NOPer. Le m�me CALL suit 46 octets plus loin ainsi qu'un saut � forcer 16 octets apr�s ce dernier CALL. Les s�quences � rechercher ressemblent � ce qui suit et je regrette profond�ment que PCTOOLS ne permette pas de rechercher des chaines d'octets avec des jokers ( je vais peut-�tre modifier mon HEXUTIL en cons�quence ): 52.50.0E.E8.xx.xx.83.C4.10.83.3E.OFF1.52.50.0E.E8.xx.xx.83.C4.10.8B. OFF2.74.05.9A. OFF1 = 46 +/- 3 OCTETS OFF2 = 16 +/- 3 OCTETS Il faut remplacer E8.xx.xx par 90.90.90 et 74 par EB. Cette chaine se trouve dans les menus suivants: MENU: FILE, SOUS-MENU: BKLD MENU: FILE, SOUS-MENU: BKSV MENU: FILE, SOUS-MENU: LOAD MENU: FILE, SOUS-MENU: SAVE MENU: DRAW, SOUS-MENU: LINE MENU: SYS MENU: SYMB MENU: SYMB, SOUS-MENU: ENTR, SOUS-SOUS MENU: ORG MENU: ENTR, SOUS-MENU: COMP MENU: PRINCIPAL Voir les nombreux listings PCCARDS pour les d�tails, quant aux routines de PCCAPS pour acc�der au menu principal et au sous-menu SYS les voici ci-dessous: La routine pour acc�der au menu principal: CS=136C CS:0172 50 PUSH AX CS:0173 50 PUSH AX CS:0174 0E PUSH CS CS:0175 E84400 CALL 01BC : A NOPER CS:0178 83C404 ADD SP,+04 CS:017B 8E06DA6A MOV ES,[6ADA] CS:017F 26FF36B024 PUSH ES:[24B0] CS:0184 9A08000324 CALL 2403:0008 Et celle pour acc�der au sous-menu SYS: CS=1C0A CS:01A4 B80100 MOV AX,0001 CS:01A7 50 PUSH AX CS:01A8 8E06D46A MOV ES,[6AD4] CS:01AC 26FF36BC24 PUSH ES:[24BC] ; Pas courant �a ! CS:01B1 9ABC014A1C CALL 1C4A:01BC ; A remplacer par JMP 01B6. CS:01B6 83C404 ADD SP,+04 CS:01B9 8E06D46A MOV ES,[6AD4] CS:01BD 26813EA824D701 CMP WORD PTR ES:[24A8],01D7 CS:01C4 7419 JZ 01DF FREDDY |